[Amazon FSx for NetApp ONTAP] タイムゾーンを変更した場合のスナップショットポリシーや監査ログへの影響を確認してみた
タイムゾーンを変更したいな
こんにちは、のんピ(@non____97)です。
皆さんはAmazon FSx for NetApp ONTAP(以降FSx for ONTAP)のタイムゾーンを変更したいなと思ったことはありますか? 私はあります。
連携しているシステム間でタイムゾーンを揃えたいなんてことがあると思います。
FSx for ONTAPのデフォルトのタイムゾーンはUTCです。
::> timezone Timezone: UTC
タイムゾーンの変更を受ける可能性があるもの = 時刻を使って何かしらの処理をしているもの として以下が挙げられます。
- スナップショットの取得とローテーションのタイミング
- ファイルアクセスの監査ログのローテーションのタイミング
- 管理アクティビティの監査ログの時刻
タイムゾーンを変更するとなった場合に、これらへの影響が気になると思います。
実際に検証してみたので紹介します。
いきなりまとめ
- 以下はローカルタイムを基準に動作する
- Cronの動作タイミング
- ファイルアクセス監査ログのローテーションタイミング
- 管理アクティビティ監査ログの時刻
- Cronはスナップショットポリシー、SnapMirror、アンチウィルス機能などに影響する
- スナップショット名の末尾の時刻はローカルタイム
- ファイルアクセス監査ログのファイル名の末尾の時刻はUTC
- ファイルアクセス監査ログに記録されたイベント時刻はUTC
検証のシナリオ
検証は以下観点で行います。
- スナップショットの取得のタイミング
- タイムゾーンをUTCからAsia/Tokyoに変更した場合、Asia/Tokyo = ローカルタイムで取得されるのか
- ファイルアクセス監査ログのローテーションのタイミング
- タイムゾーンをUTCからAsia/Tokyoに変更した場合、Asia/Tokyo = ローカルタイムでローテーションされるのか
- 監査ログ内の時刻はローカルタイムか
- 管理アクティビティの監査ログの時刻
- タイムゾーンをUTCからAsia/Tokyoに変更した場合、表示される時刻はAsia/Tokyo = ローカルタイムか
UTCの場合
スナップショット取得のタイミング
スナップショット取得のタイミングの確認から行います。
スナップショットを定期的に取得する場合、スナップショットポリシーを作成してボリュームにアタッチする必要があります。
そして、スナップショットポリシーは事前に定義されたCronのタイミングによってスナップショットの取得とローテーションを行います。
ということで、Cronを作成します。
現在の時刻は18:11 JSTでした。18:15 JST = 9:15 UTCに実行するようなCronを設定します。
# 現在のCron一覧 ::> cron show (job schedule cron show) Cluster Vserver Name Description ------- -------- ----------- -------------------------------------------------- FsxId05f72eb8f8d03c709 FsxId05f72eb8f8d03c709 10min @:00,:10,:20,:30,:40,:50 12-hourly @0:15,12:15 5min @:00,:05,:10,:15,:20,:25,:30,:35,:40,:45,:50,:55 6-hourly @0:15,6:15,12:15,18:15 8hour @2:15,10:15,18:15 daily @0:10 hourly @:05 monthly 1@0:20 pg-15-minutely @:10,:25,:40,:55 pg-6-hourly @3:03,9:03,15:03,21:03 pg-daily @0:10 pg-daily-set2 @6:25 pg-daily-set3 @12:40 pg-daily-set4 @18:55 pg-hourly @:07 pg-hourly-set2 @:22 pg-hourly-set3 @:37 pg-hourly-set4 @:52 pg-remote-15-minutely @:00,:15,:30,:45 pg-remote-6-hourly @3:08,9:08,15:08,21:08 pg-remote-daily @0:15 pg-remote-hourly @:12 pg-remote-weekly Sun@0:20 pg-weekly Sun@0:15 pg-weekly-set2 Tue@4:30 pg-weekly-set3 Thu@10:44 pg-weekly-set4 Sat@16:59 weekly Sun@0:15 28 entries were displayed. # 9:15に動作するようなCronの作成 ::> cron create -cluster FsxId05f72eb8f8d03c709 -vserver FsxId05f72eb8f8d03c709 -name timezone-test -minute 15 -hour 9 (job schedule cron create) # 作成したCronの確認 ::> cron show -name timezone-test (job schedule cron show) Cluster Vserver Name Description ------- -------- ----------- -------------------------------------------------- FsxId05f72eb8f8d03c709 FsxId05f72eb8f8d03c709 timezone-test @9:15 # 作成したCronの詳細確認 ::> cron show -name timezone-test -instance (job schedule cron show) Cluster: FsxId05f72eb8f8d03c709 Vserver: FsxId05f72eb8f8d03c709 Name: timezone-test Month: - Day of Week: - Day: - Hour: 9 Minute: 15 Description: @9:15
Cronの作成ができたので、こちらのCronに従ってスナップショットを取得するスナップショットポリシーを作成します。
# スナップショット一覧の確認 ::> snapshot policy show Vserver: FsxId05f72eb8f8d03c709 Number of Is Policy Name Schedules Enabled Comment ------------------------ --------- ------- ---------------------------------- default 3 true Default policy with hourly, daily & weekly schedules. Schedule Count Prefix SnapMirror Label ---------------------- ----- ---------------------- ------------------- hourly 6 hourly - daily 2 daily daily weekly 2 weekly weekly default-1weekly 3 true Default policy with 6 hourly, 2 daily & 1 weekly schedule. Schedule Count Prefix SnapMirror Label ---------------------- ----- ---------------------- ------------------- hourly 6 hourly - daily 2 daily - weekly 1 weekly - none 0 false Policy for no automatic snapshots. Schedule Count Prefix SnapMirror Label ---------------------- ----- ---------------------- ------------------- - - - - 3 entries were displayed. # スナップショットポリシーの作成 ::> snapshot policy create -policy timezone-test -enabled true -schedule1 timezone-test -count1 6 -prefix1 timezone-test # 作成したスナップショットポリシーの確認 ::> snapshot policy show -policy timezone-test Vserver: FsxId05f72eb8f8d03c709 Number of Is Policy Name Schedules Enabled Comment ------------------------ --------- ------- ---------------------------------- timezone-test 1 true - Schedule Count Prefix SnapMirror Label ---------------------- ----- ---------------------- ------------------- timezone-test 6 timezone-test -
スナップショットポリシーの作成が完了しました。このスナップショットポリシーをボリュームに割り当てます。
# スナップショットポリシーをボリュームに割り当て ::> volume modify -volume vol_timezone -snapshot-policy timezone-test Warning: You are changing the Snapshot policy on volume "vol_timezone" to "timezone-test". Snapshot copies on this volume that do not match any of the prefixes of the new Snapshot policy will not be deleted. However, when the new Snapshot policy takes effect, depending on the new retention count, any existing Snapshot copies that continue to use the same prefixes might be deleted. See the 'volume modify' man page for more information. Do you want to continue? {y|n}: y Volume modify successful on volume vol_timezone of Vserver SVM. # スナップショットポリシーがボリュームに割り当てられたことを確認 ::> volume show -volume vol_timezone -fields snapshot-policy vserver volume snapshot-policy ------- ------------ --------------- SVM vol_timezone timezone-test
それでは、スナップショットが取得されるまで待ちます。
# 現在の時刻の確認 ::> date show (cluster date show) Node Date Time zone --------- ------------------------- ------------------------- FsxId05f72eb8f8d03c709-01 2/12/2023 09:13:25 +00:00 UTC FsxId05f72eb8f8d03c709-02 2/12/2023 09:13:25 +00:00 UTC 2 entries were displayed. # スナップショットが取得されていないことを確認 ::> snapshot show -volume vol_timezone There are no entries matching your query. # 現在の時刻の確認 ::> date show (cluster date show) Node Date Time zone --------- ------------------------- ------------------------- FsxId05f72eb8f8d03c709-01 2/12/2023 09:16:00 +00:00 UTC FsxId05f72eb8f8d03c709-02 2/12/2023 09:16:00 +00:00 UTC 2 entries were displayed. # スナップショットが取得されたことを確認 ::> snapshot show -volume vol_timezone ---Blocks--- Vserver Volume Snapshot Size Total% Used% -------- -------- ------------------------------------- -------- ------ ----- SVM vol_timezone timezone-test.2023-02-12_0915 156KB 0% 45%
Cronで定義した9:15 UTCを過ぎたので、スナップショットが取得されましたね。
ファイルアクセス監査ログのローテーションのタイミング
次にファイルアクセス監査ログのローテーションのタイミングを確認します。
9:30 UTCにローテーションするようなファイルアクセス監査ログの設定をします。
# ファイルアクセス監査ログの設定 ::> vserver audit create -destination /vol_timezone -format xml -rotate-schedule-hour 9 -rotate-schedule-minute 30 -rotate-limit 6 # ファイルアクセス監査ログの設定を確認 ::> vserver audit show -instance Vserver: SVM Auditing State: false Log Destination Path: /vol_timezone Categories of Events to Audit: file-ops, cifs-logon-logoff, audit-policy-change Log Format: xml Log File Size Limit: - Log Rotation Schedule: Month: - Log Rotation Schedule: Day of Week: - Log Rotation Schedule: Day: - Log Rotation Schedule: Hour: 9 Log Rotation Schedule: Minute: 30 Rotation Schedules: @9:30 Log Files Rotation Limit: 6 Log Retention Duration: 0s Strict Guarantee of Auditing: true # ファイルアクセス監査ログを有効化 ::> vserver audit enable # ファイルアクセス監査ログが有効化されているか確認 ::> vserver audit show Vserver State Event Types Log Format Target Directory ----------- ------ ------------------ ---------- ---------------------------- SVM true file-ops, xml /vol_timezone cifs-logon-logoff, audit-policy- change
NFSクライアントからファイルアクセス監査ログの出力先ボリュームにアクセスして、ファイルアクセス監査ログを確認します。
# ファイルアクセス監査ログの出力先ボリュームをマウント $ sudo mount -t nfs svm-0404cd705c847e961.fs-05f72eb8f8d03c709.fsx.us-east-1.amazonaws.com:/vol_timezone /mnt/fsxn/ # ファイルアクセス監査ログが出力されていることを確認 $ ls -l /mnt/fsxn/ total 4 -rw-r--r-- 1 root root 892 Feb 12 09:20 audit_SVM_last.xml $ cat /mnt/fsxn/audit_SVM_last.xml <Events xmlns="http://www.netapp.com/schemas/ONTAP/2007/AuditLog"> <Event><System><Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/><EventID>4719</EventID><EventName>Audit Enabled</EventName><Version>101.1</Version><Source>ssh</Source><Level>0</Level><Opcode>0</Opcode><Keywords>0x8020000000000000</Keywords><Result>Audit Success</Result><TimeCreated SystemTime="2023-02-12T09:19:49.027771000Z"/><Correlation/><Channel>Security</Channel><Computer>FsxId05f72eb8f8d03c709/SVM</Computer><ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID><Security/></System><EventData><Data Name="SubjectUserName">fsxadmin</Data><Data Name="SubjectUserSid">65533-1004</Data><Data Name="SubjectDomainName">~</Data><Data Name="SubjectIP">10.0.0.207</Data><Data Name="SubjectPort">45886</Data></EventData></Event> </Events>
ファイルアクセス監査ログが出力されていますね。記録されていたイベントを整形すると以下のようになります。
<Events xmlns="http://www.netapp.com/schemas/ONTAP/2007/AuditLog"> <Event> <System> <Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/> <EventID>4719</EventID> <EventName>Audit Enabled</EventName> <Version>101.1</Version> <Source>ssh</Source> <Level>0</Level> <Opcode>0</Opcode> <Keywords>0x8020000000000000</Keywords> <Result>Audit Success</Result> <TimeCreated SystemTime="2023-02-12T09:19:49.027771000Z"/> <Correlation/> <Channel>Security</Channel> <Computer>FsxId05f72eb8f8d03c709/SVM</Computer> <ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID> <Security/> </System> <EventData> <Data Name="SubjectUserName">fsxadmin</Data> <Data Name="SubjectUserSid">65533-1004</Data> <Data Name="SubjectDomainName">~</Data> <Data Name="SubjectIP">10.0.0.207</Data> <Data Name="SubjectPort">45886</Data> </EventData> </Event> </Events>
9:30 UTCまで待つとファイルアクセス監査ログがローテーションされていました。
$ ls -l /mnt/fsxn/ total 8 -rw-r--r-- 1 root root 2106 Feb 12 09:30 audit_SVM_D2023-02-12-T09-30-04_0000000000.xml -rw-r--r-- 1 root root 77 Feb 12 09:30 audit_SVM_last.xml # 現在の時刻の確認 $ date Sun Feb 12 09:30:44 UTC 2023
せっかくなので、NFSのファイルアクセス監査ログを出力するよう設定してみます。
NFSv4 ACLで監査ACEを設定するので、nfs4-acl-tools
というパッケージをインストールします。
$ sudo yum install nfs4-acl-tools Loaded plugins: extras_suggestions, langpacks, priorities, update-motd amzn2-core | 3.7 kB 00:00:00 amzn2extra-docker | 3.0 kB 00:00:00 amzn2extra-kernel-5.10 | 3.0 kB 00:00:00 Resolving Dependencies --> Running transaction check ---> Package nfs4-acl-tools.x86_64 0:0.3.3-17.amzn2 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================================= Installing: nfs4-acl-tools x86_64 0.3.3-17.amzn2 amzn2-core 47 k Transaction Summary ======================================================================================================================================================================= Install 1 Package Total download size: 47 k Installed size: 108 k Is this ok [y/d/N]: y Downloading packages: nfs4-acl-tools-0.3.3-17.amzn2.x86_64.rpm | 47 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : nfs4-acl-tools-0.3.3-17.amzn2.x86_64 1/1 Verifying : nfs4-acl-tools-0.3.3-17.amzn2.x86_64 1/1 Installed: nfs4-acl-tools.x86_64 0:0.3.3-17.amzn2
次にFSx for ONTAPのNFSサーバーでNFSv4 ACLを有効化します。
# NFSv4 ACLが無効になっていることを確認 ::> vserver nfs show -fields v4.1-acl vserver v4.1-acl ------- -------- SVM disabled # advancedに権限レベルを変更 ::> set -privilege advanced Warning: These advanced commands are potentially dangerous; use them only when directed to do so by NetApp personnel. Do you want to continue? {y|n}: y # NFSv4 ACLを有効化 ::*> vserver nfs modify -vserver SVM -v4.1-acl enabled # NFSv4 ACLが有効になっていることを確認 ::*> vserver nfs show -fields v4.1-acl vserver v4.1-acl ------- -------- SVM enabled # 権限レベルをadminに戻す ::*> set admin
NFSv4 ACLを有効化できました。なお、NFSv4 ACLを有効化していない状態で監査ACEを設定しようとすると怒られます。
$ sudo nfs4_setfacl -a U:fdS:EVERYONE@:Cd /mnt/fsxn/ Operation to request attribute not supported. Failed to instantiate ACL. An error occurred during recursive file tree walk.
NetAppのKBでも紹介されています。
それでは、NFSv4 ACLで監査ACEを設定します。NFSv4 ACLのACEの詳細についてはman nfs4_acl
をご覧ください。
ファイルの削除やNFSv4 ACLの書き込みした際に監査ログを出力するような設定を行います。
# 現在のNFSv4 ACLの確認 $ nfs4_getfacl /mnt/fsxn/ A::OWNER@:rwaDxtTnNcCy A:g:GROUP@:rxtncy A::EVERYONE@:rxtncy # 監査ACEの設定 $ sudo nfs4_setfacl -a U:fdS:EVERYONE@:Cd /mnt/fsxn/ # 監査ACEが設定されたことを確認 $ nfs4_getfacl /mnt/fsxn/ A::OWNER@:rwaDxtTnNcCy A:g:GROUP@:rxtncy A::EVERYONE@:rxtncy U:fdS:EVERYONE@:dC
適当にファイルを作成して、削除します。
# ファイルの作成と削除 $ sudo touch /mnt/fsxn/test-file $ sudo rm /mnt/fsxn/test-file # 監査ログの確認 $ cat /mnt/fsxn/audit_SVM_last.xml <Events xmlns="http://www.netapp.com/schemas/ONTAP/2007/AuditLog"> <Event><System><Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/><EventID>4907</EventID><EventName>Auditing Settings Changed</EventName><Version>101.1</Version><Source>NFSv4</Source><Level>0</Level><Opcode>0</Opcode><Keywords>0x8020000000000000</Keywords><Result>Audit Success</Result><TimeCreated SystemTime="2023-02-12T09:43:16.078124000Z"/><Correlation/><Channel>Security</Channel><Computer>FsxId05f72eb8f8d03c709/SVM</Computer><ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID><Security/></System><EventData><Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data><Data Name="SubjectUnix" Uid="0" Gid="0" Local="false"></Data><Data Name="ObjectServer">Security</Data><Data Name="ObjectType">Directory</Data><Data Name="HandleID">0000000000042a;00;00000040;63e8abe6</Data><Data Name="ObjectName">(vol_timezone);/</Data><Data Name="OldSD">Not Present</Data><Data Name="NewSD">S:(AU;CIOIID;WDSD;;;S-1-520-2)</Data></EventData></Event> <Event><System><Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/><EventID>4658</EventID><EventName>Close Object</EventName><Version>101.2</Version><Source>NFSv4</Source><Level>0</Level><Opcode>0</Opcode><Keywords>0x8020000000000000</Keywords><Result>Audit Success</Result><TimeCreated SystemTime="2023-02-12T09:46:30.878290000Z"/><Correlation/><Channel>Security</Channel><Computer>FsxId05f72eb8f8d03c709/SVM</Computer><ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID><Security/></System><EventData><Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data><Data Name="SubjectUnix" Uid="0" Gid="0" Local="false"></Data><Data Name="ObjectServer">Security</Data><Data Name="ObjectType">File</Data><Data Name="HandleID">0000000000042a;00;00000063;12c8dbfb</Data><Data Name="ObjectName">(vol_timezone);/test-file</Data></EventData></Event> <Event><System><Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/><EventID>9998</EventID><EventName>Unlink Object</EventName><Version>101.2</Version><Source>NFSv4</Source><Level>0</Level><Opcode>0</Opcode><Keywords>0x8020000000000000</Keywords><Result>Audit Success</Result><TimeCreated SystemTime="2023-02-12T09:46:38.618525000Z"/><Correlation/><Channel>Security</Channel><Computer>FsxId05f72eb8f8d03c709/SVM</Computer><ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID><Security/></System><EventData><Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data><Data Name="SubjectUnix" Uid="0" Gid="0" Local="false"></Data><Data Name="DirHandleID">0000000000042a;00;00000040;63e8abe6</Data><Data Name="FileName">(vol_timezone);/test-file</Data><Data Name="SearchFilter"></Data></EventData></Event> </Events>
ファイルアクセス監査ログが出力されていますね。整形すると以下のようになっています。ちなみに1つ目のイベントのAuditing Settings Changed
はファイルアクセス監査ログのローテーションのタイミングを変更したために発生しています。
<Events xmlns="http://www.netapp.com/schemas/ONTAP/2007/AuditLog"> <Event> <System> <Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/> <EventID>4907</EventID> <EventName>Auditing Settings Changed</EventName> <Version>101.1</Version> <Source>NFSv4</Source> <Level>0</Level> <Opcode>0</Opcode> <Keywords>0x8020000000000000</Keywords> <Result>Audit Success</Result> <TimeCreated SystemTime="2023-02-12T09:43:16.078124000Z"/> <Correlation/> <Channel>Security</Channel> <Computer>FsxId05f72eb8f8d03c709/SVM</Computer> <ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID> <Security/> </System> <EventData> <Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data> <Data Name="SubjectUnix" Uid="0" Gid="0" Local="false"></Data> <Data Name="ObjectServer">Security</Data> <Data Name="ObjectType">Directory</Data> <Data Name="HandleID">0000000000042a;00;00000040;63e8abe6</Data> <Data Name="ObjectName">(vol_timezone);/</Data> <Data Name="OldSD">Not Present</Data> <Data Name="NewSD">S:(AU;CIOIID;WDSD;;;S-1-520-2)</Data> </EventData> </Event> <Event> <System> <Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/> <EventID>4658</EventID> <EventName>Close Object</EventName> <Version>101.2</Version> <Source>NFSv4</Source> <Level>0</Level> <Opcode>0</Opcode> <Keywords>0x8020000000000000</Keywords> <Result>Audit Success</Result> <TimeCreated SystemTime="2023-02-12T09:46:30.878290000Z"/> <Correlation/> <Channel>Security</Channel> <Computer>FsxId05f72eb8f8d03c709/SVM</Computer> <ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID> <Security/> </System> <EventData> <Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data> <Data Name="SubjectUnix" Uid="0" Gid="0" Local="false"></Data> <Data Name="ObjectServer">Security</Data> <Data Name="ObjectType">File</Data> <Data Name="HandleID">0000000000042a;00;00000063;12c8dbfb</Data> <Data Name="ObjectName">(vol_timezone);/test-file</Data> </EventData> </Event> <Event> <System> <Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/> <EventID>9998</EventID> <EventName>Unlink Object</EventName> <Version>101.2</Version> <Source>NFSv4</Source> <Level>0</Level> <Opcode>0</Opcode> <Keywords>0x8020000000000000</Keywords> <Result>Audit Success</Result> <TimeCreated SystemTime="2023-02-12T09:46:38.618525000Z"/> <Correlation/> <Channel>Security</Channel> <Computer>FsxId05f72eb8f8d03c709/SVM</Computer> <ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID> <Security/> </System> <EventData> <Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data> <Data Name="SubjectUnix" Uid="0" Gid="0" Local="false"></Data> <Data Name="DirHandleID">0000000000042a;00;00000040;63e8abe6</Data> <Data Name="FileName">(vol_timezone);/test-file</Data> <Data Name="SearchFilter"></Data> </EventData> </Event> </Events>
管理アクティビティ監査ログの時刻
最後に管理アクティビティ監査ログの時刻を確認します。
大量にログが出力されても困るので、時刻でフィルタリングします。
# 現在の時刻の確認 ::> date show -fields timezone, date, utc-date, dateandtime, utcdateandtime (cluster date show) node timezone date utc-date dateandtime utcdateandtime ------------------------- -------- ------------------------- ------------------ ------------------------ ------------------------ FsxId05f72eb8f8d03c709-01 UTC 2/12/2023 09:55:14 +00:00 2/12/2023 09:55:14 Sun Feb 12 09:55:14 2023 Sun Feb 12 09:55:14 2023 FsxId05f72eb8f8d03c709-02 UTC 2/12/2023 09:55:14 +00:00 2/12/2023 09:55:14 Sun Feb 12 09:55:14 2023 Sun Feb 12 09:55:14 2023 2 entries were displayed. # 管理アクティビティ監査ログに出力されるように適当にコマンドを入力 ::> top # 管理アクティビティ監査ログの確認 ::> security audit log show -fields timestamp, node, application, vserver, username, input, state, message -application ssh -state Error|Success -timestamp >"Sun Feb 12 09:50:00 2023" timestamp node application vserver username input state message -------------------------- ------------------------- ----------- ---------------------- -------- ----- ------- ------- "Sun Feb 12 09:57:15 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin top Success -
時刻(timestamp
)は当然ですがUTCの時刻になっていますね。
Asia/Tokyoの場合
タイムゾーンの変更
それではタイムゾーンをAsia/Tokyoに変更します。
# タイムゾーンをAsia/Tokyoに変更 ::> timezone -timezone Asia/Tokyo 1 entry modified # 現在の時刻を確認 ::> date show -fields timezone, date, utc-date, dateandtime, utcdateandtime (cluster date show) node timezone date utc-date dateandtime utcdateandtime ------------------------- ---------- ------------------------- ------------------ ------------------------ ------------------------ FsxId05f72eb8f8d03c709-01 Asia/Tokyo 2/12/2023 18:58:38 +09:00 2/12/2023 09:58:38 Sun Feb 12 18:58:38 2023 Sun Feb 12 09:58:38 2023 FsxId05f72eb8f8d03c709-02 Asia/Tokyo 2/12/2023 18:58:38 +09:00 2/12/2023 09:58:38 Sun Feb 12 18:58:38 2023 Sun Feb 12 09:58:38 2023 2 entries were displayed.
タイムゾーンが変更されましたね。date
とutc-date
、dateandtime
とutcdateandtime
それぞれ9時間ずれていることが分かります。
管理アクティビティ監査ログの時刻
タイムゾーン変更後、管理アクティビティ監査ログの時刻を確認します。
::> security audit log show -fields timestamp, node, application, vserver, username, input, state, message -application ssh -state Error|Success -timestamp >"Sun Feb 12 09:50:00 2023" timestamp node application vserver username input state message -------------------------- ------------------------- ----------- ---------------------- -------- ---------- ------- ------- "Sun Feb 12 17:58:10 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin Logging in Success - "Sun Feb 12 17:58:49 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin vserver audit delete -vserver SVM Error Cannot delete audit configuration for Vserver "SVM". Reason: Auditing is enabled for this Vserver. Disable it before deleting the audit configuration. "Sun Feb 12 17:59:04 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin vserver audit disable -vserver SVM Success - "Sun Feb 12 17:59:06 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin vserver audit delete -vserver SVM Error Cannot delete audit configuration for Vserver "SVM". Reason: Final consolidation is in progress. Retry after sometime. "Sun Feb 12 17:59:16 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin vserver audit delete -vserver SVM Error Cannot delete audit configuration for Vserver "SVM". Reason: Final consolidation is in progress. Retry after sometime. "Sun Feb 12 17:59:29 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin vserver audit delete -vserver SVM Error Cannot delete audit configuration for Vserver "SVM". Reason: Final consolidation is in progress. Retry after sometime. "Sun Feb 12 18:01:17 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin vserver audit delete -vserver SVM Success - "Sun Feb 12 18:01:38 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin timezone UTC Success - "Sun Feb 12 18:02:20 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin timezone -timezone UTC Success - "Sun Feb 12 18:02:23 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin timezone Success - "Sun Feb 12 18:02:28 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin top Success - "Sun Feb 12 18:04:22 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin timezone Success - "Sun Feb 12 18:09:11 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin job schedule cron create -cluster FsxId05f72eb8f8d03c709 -vserver FsxId05f72eb8f8d03c709 -name timezone-test -minute 15 -hour 9 Success - "Sun Feb 12 18:11:20 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin volume snapshot policy create -policy timezone-test -enabled true -schedule1 timezone-test -count1 6 -prefix1 timezone-test Success - "Sun Feb 12 18:12:06 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin Question: You are changing the Snapshot pol... : y Success - "Sun Feb 12 18:12:06 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin volume modify -volume vol_timezone -snapshot-policy timezone-test Success - "Sun Feb 12 18:13:22 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin top Success - "Sun Feb 12 18:19:25 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin vserver audit create -destination /vol_timezone -format xml -rotate-schedule-hour 18 -rotate-schedule-minute 25 -rotate-limit 6 Success - "Sun Feb 12 18:19:49 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin vserver audit enable Success - "Sun Feb 12 18:26:23 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin vserver audit modify -destination /vol_timezone -format xml -rotate-schedule-hour 9 -rotate-schedule-minute 30 -rotate-limit 6 Success - "Sun Feb 12 18:57:15 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin top Success - "Sun Feb 12 18:58:27 2023" FsxId05f72eb8f8d03c709-01 ssh FsxId05f72eb8f8d03c709 fsxadmin timezone -timezone Asia/Tokyo Success - 22 entries were displayed.
時刻(timestamp
)はローカルタイムで表示されていますね。-timestamp
もローカルタイムでフィルタリングされています。
スナップショット取得のタイミング
次にスナップショット取得のタイミングがタイムゾーンの影響を受けるか確認します。
Cronを19:05に動作するように変更します。
# Cronの変更 ::> cron modify -name timezone-test -hour 19 -minute 5 (job schedule cron modify) Warning: Schedule in use by 1 volume Snapshot policy entries, 0 SnapMirror entries, 0 antivirus on-demand entries, 0 SIS policy entries, 0 configuration backup settings, 0 SnapMirror policy entries and 0 SnapMirror policy rule entries. This change will affect the schedule of all referenced entities. Do you want to continue? {y|n}: y # Cronが変更されたことを確認 ::> cron show -name timezone-test (job schedule cron show) Cluster Vserver Name Description ------- -------- ----------- -------------------------------------------------- FsxId05f72eb8f8d03c709 FsxId05f72eb8f8d03c709 timezone-test @19:05
Cronを変更する際に影響のあるリソースが何個あるか教えてくれていますね。SnapMirrorやアンチウィルス、Storage Efficiencyなどにも影響があるようですね。
しばらく待ってスナップショットが作成されるか確認します。
# スナップショットの確認 ::> snapshot show -volume vol_timezone ---Blocks--- Vserver Volume Snapshot Size Total% Used% -------- -------- ------------------------------------- -------- ------ ----- SVM vol_timezone timezone-test.2023-02-12_0915 172KB 0% 36% timezone-test.2023-02-12_1905 180KB 0% 37% 2 entries were displayed. # 現在の時刻を確認 ::> date show -fields timezone, date, utc-date, dateandtime, utcdateandtime (cluster date show) node timezone date utc-date dateandtime utcdateandtime ------------------------- ---------- ------------------------- ------------------ ------------------------ ------------------------ FsxId05f72eb8f8d03c709-01 Asia/Tokyo 2/12/2023 19:05:22 +09:00 2/12/2023 10:05:22 Sun Feb 12 19:05:22 2023 Sun Feb 12 10:05:22 2023 FsxId05f72eb8f8d03c709-02 Asia/Tokyo 2/12/2023 19:05:22 +09:00 2/12/2023 10:05:22 Sun Feb 12 19:05:22 2023 Sun Feb 12 10:05:22 2023 2 entries were displayed.
19:05を過ぎるとスナップショットが作成されました。つまりはCronはローカルタイムに基づいて動作するようですね。
よくよく調べるとNetAppのKBにも記載されていました。
警告: Snapshot スケジュールは、 cron スケジュールに依存する他のすべてのジョブとともに、 UTC 時間ではなくクラスタ時間に依存します。また、スケジュールはタイムゾーンや時間の変更によって自動的に調整されることはありません。これらのプロセスがシステムの負荷に関連してスケジュールされている場合は、この点を考慮する必要があります。
また、スナップショットの末尾の時刻はローカルタイムであることも確認できました。
ファイルアクセス監査ログのローテーションのタイミング
最後にファイルアクセス監査ログのローテーションのタイミングがローカルタイムの影響を受けるか確認します。
ファイルアクセス監査ログを19:10にローテーションするよう変更します。
# ファイルアクセス監査ログを19:10にローテーションするよう変更 ::> vserver audit modify -rotate-schedule-hour 19 -rotate-schedule-minute 10 # ファイルアクセス監査ログを19:10にローテーションするよう変更されたか確認 ::> vserver audit show -instance Vserver: SVM Auditing State: true Log Destination Path: /vol_timezone Categories of Events to Audit: file-ops, cifs-logon-logoff, audit-policy-change Log Format: xml Log File Size Limit: - Log Rotation Schedule: Month: - Log Rotation Schedule: Day of Week: - Log Rotation Schedule: Day: - Log Rotation Schedule: Hour: 19 Log Rotation Schedule: Minute: 10 Rotation Schedules: @19:10 Log Files Rotation Limit: 6 Log Retention Duration: 0s Strict Guarantee of Auditing: true
変更後、19:10を過ぎるまで待ちます。その後ファイルアクセス監査ログがローテーションされたか確認します。
# ファイルアクセス監査ログがローテーションされたか確認 $ ls -l /mnt/fsxn/ total 12 -rw-r--r-- 1 root root 2106 Feb 12 09:30 audit_SVM_D2023-02-12-T09-30-04_0000000000.xml -rw-r--r-- 1 root root 2907 Feb 12 10:10 audit_SVM_D2023-02-12-T10-10-07_0000000000.xml -rw-r--r-- 1 root root 1015 Feb 12 10:10 audit_SVM_last.xml # ファイルアクセス監査ログの確認 $ cat /mnt/fsxn/audit_SVM_last.xml <Events xmlns="http://www.netapp.com/schemas/ONTAP/2007/AuditLog"> </Events>
19:10でローテーションされていることから、ファイルアクセス監査ログもローカルタイムに基づいてローテーションしていることが分かります。
なお、ファイイルアクセス監査ログのファイル名の末尾の時刻はUTCのようです。こちらもNetAppのKBに記載されていました。
TR-4189 ページ 10 (ログファイルの命名規則)に従って、ファイル名の形式を変更することはできません。一方、 NTFS ファイルシステムでは、ローカルタイムゾーンに関係なく、常に UTC 形式でファイルが保存されます。
ここで、ファイルアクセス監査ログに記録されたイベントの時刻もローカルタイムに変わるのか気になりました。適当にファイルを作成・削除します。
# ファイルの作成・削除 $ sudo touch /mnt/fsxn/test-dir $ sudo rm /mnt/fsxn/test-dir # ファイルアクセス監査ログの確認 $ cat /mnt/fsxn/audit_SVM_last.xml <Events xmlns="http://www.netapp.com/schemas/ONTAP/2007/AuditLog"> <Event><System><Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/><EventID>4658</EventID><EventName>Close Object</EventName><Version>101.2</Version><Source>NFSv4</Source><Level>0</Level><Opcode>0</Opcode><Keywords>0x8020000000000000</Keywords><Result>Audit Success</Result><TimeCreated SystemTime="2023-02-12T10:10:10.938666000Z"/><Correlation/><Channel>Security</Channel><Computer>FsxId05f72eb8f8d03c709/SVM</Computer><ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID><Security/></System><EventData><Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data><Data Name="SubjectUnix" Uid="1001" Gid="1001" Local="false"></Data><Data Name="ObjectServer">Security</Data><Data Name="ObjectType">File</Data><Data Name="HandleID">0000000000042a;00;00000063;12c8dbfc</Data><Data Name="ObjectName">(vol_timezone);/audit_SVM_last.xml</Data></EventData></Event> <Event><System><Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/><EventID>4658</EventID><EventName>Close Object</EventName><Version>101.2</Version><Source>NFSv4</Source><Level>0</Level><Opcode>0</Opcode><Keywords>0x8020000000000000</Keywords><Result>Audit Success</Result><TimeCreated SystemTime="2023-02-12T10:11:20.458936000Z"/><Correlation/><Channel>Security</Channel><Computer>FsxId05f72eb8f8d03c709/SVM</Computer><ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID><Security/></System><EventData><Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data><Data Name="SubjectUnix" Uid="0" Gid="0" Local="false"></Data><Data Name="ObjectServer">Security</Data><Data Name="ObjectType">File</Data><Data Name="HandleID">0000000000042a;00;00000065;12cb0abe</Data><Data Name="ObjectName">(vol_timezone);/test-dir</Data></EventData></Event> </Events>
ファイルアクセス監査ログを整形すると以下のようになります。TimeCreated
を確認してみると、ローカルタイムではないことが分かりますね。
<Events xmlns="http://www.netapp.com/schemas/ONTAP/2007/AuditLog"> <Event> <System> <Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/> <EventID>4658</EventID> <EventName>Close Object</EventName> <Version>101.2</Version> <Source>NFSv4</Source> <Level>0</Level> <Opcode>0</Opcode> <Keywords>0x8020000000000000</Keywords> <Result>Audit Success</Result> <TimeCreated SystemTime="2023-02-12T10:10:10.938666000Z"/> <Correlation/> <Channel>Security</Channel> <Computer>FsxId05f72eb8f8d03c709/SVM</Computer> <ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID> <Security/> </System> <EventData> <Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data> <Data Name="SubjectUnix" Uid="1001" Gid="1001" Local="false"></Data> <Data Name="ObjectServer">Security</Data> <Data Name="ObjectType">File</Data> <Data Name="HandleID">0000000000042a;00;00000063;12c8dbfc</Data> <Data Name="ObjectName">(vol_timezone);/audit_SVM_last.xml</Data> </EventData> </Event> <Event> <System> <Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/> <EventID>4658</EventID> <EventName>Close Object</EventName> <Version>101.2</Version> <Source>NFSv4</Source> <Level>0</Level> <Opcode>0</Opcode> <Keywords>0x8020000000000000</Keywords> <Result>Audit Success</Result> <TimeCreated SystemTime="2023-02-12T10:11:20.458936000Z"/> <Correlation/> <Channel>Security</Channel> <Computer>FsxId05f72eb8f8d03c709/SVM</Computer> <ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID> <Security/> </System> <EventData> <Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data> <Data Name="SubjectUnix" Uid="0" Gid="0" Local="false"></Data> <Data Name="ObjectServer">Security</Data> <Data Name="ObjectType">File</Data> <Data Name="HandleID">0000000000042a;00;00000065;12cb0abe</Data> <Data Name="ObjectName">(vol_timezone);/test-dir</Data> </EventData> </Event> <Event> <System> <Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/> <EventID>9998</EventID> <EventName>Unlink Object</EventName> <Version>101.2</Version> <Source>NFSv4</Source> <Level>0</Level> <Opcode>0</Opcode> <Keywords>0x8020000000000000</Keywords> <Result>Audit Success</Result> <TimeCreated SystemTime="2023-02-12T10:11:31.219302000Z"/> <Correlation/> <Channel>Security</Channel> <Computer>FsxId05f72eb8f8d03c709/SVM</Computer> <ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID> <Security/> </System> <EventData> <Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data> <Data Name="SubjectUnix" Uid="0" Gid="0" Local="false"></Data> <Data Name="DirHandleID">0000000000042a;00;00000040;63e8abe6</Data> <Data Name="FileName">(vol_timezone);/test-dir</Data> <Data Name="SearchFilter"></Data> </EventData> </Event> <Event> <System> <Provider Name="NetApp-Security-Auditing" Guid="{3CB2A168-FE19-4A4E-BDAD-DCF422F13473}"/> <EventID>4658</EventID> <EventName>Close Object</EventName> <Version>101.2</Version> <Source>NFSv4</Source> <Level>0</Level> <Opcode>0</Opcode> <Keywords>0x8020000000000000</Keywords> <Result>Audit Success</Result> <TimeCreated SystemTime="2023-02-12T10:11:36.029490000Z"/> <Correlation/> <Channel>Security</Channel> <Computer>FsxId05f72eb8f8d03c709/SVM</Computer> <ComputerUUID>cc9673f1-8cca-11ed-946a-5191ab1a5297/49892dec-8ccc-11ed-946a-5191ab1a5297</ComputerUUID> <Security/> </System> <EventData> <Data Name="SubjectIP" IPVersion="4">10.0.0.207</Data> <Data Name="SubjectUnix" Uid="1001" Gid="1001" Local="false"></Data> <Data Name="ObjectServer">Security</Data> <Data Name="ObjectType">File</Data> <Data Name="HandleID">0000000000042a;00;00000063;12c8dbfc</Data> <Data Name="ObjectName">(vol_timezone);/audit_SVM_last.xml</Data> </EventData> </Event> </Events>
タイムゾーンの変更は慎重に
Amazon FSx for NetApp ONTAPのタイムゾーンを変更した場合のスナップショットポリシーや監査ログへの影響を確認してみました。
多くの機能がローカルタイムを基準に動作していることが分かりました。タイムゾーンを変更した場合の影響範囲はかなり広いため、影響範囲を確認した上で変更しましょう。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!